Modern computer systems are used to store, process, and communicate vast amounts of valuable information. The information is stored either locally or in a distributed manner, and is often backed up periodically or continuously to provide protection in the event of, e.g., a power outage, a virus, a natural disaster, or another event that temporarily or permanently disrupts the computer system and/or the associated network.
Backup processes are typically conducted by a backup application. The backup application makes periodic copies of data which may be used to restore original data in the event of a data loss. The amount of time to conduct a backup process is generally dependent on a number of factors, including the type of backup process (e.g., online backup, raw data backup, file system backup, snapshot backup, etc.), the type of input/output (I/O) (e.g., buffered I/O or un-buffered I/O), system properties (e.g., speed, memory size, etc.) and/or the amount of data to be processed.